package red.social;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.view.View.OnClickListener;

public class AdaptadorComentariosGrupo extends ArrayAdapter {
	Activity context;
	List<TablonComentarios> listaComentarios;

	private String  ip;
	private String SERVLET_URL; 
	private String datos, sitio;
	

	public AdaptadorComentariosGrupo(Activity context,
			List<TablonComentarios> listaComentarios) {
		super(context, R.layout.listitem_comentarios, listaComentarios);
		this.context = context;
		this.listaComentarios = listaComentarios;
		ip = context.getResources().getString(R.string.ip);
		SERVLET_URL = "http://"+ip+":8080/Modulo10-war/GruposServlet";
	}

	public View getView(final int position, View convertView, ViewGroup parent) {
		LayoutInflater inflater = context.getLayoutInflater();
		View item = inflater.inflate(R.layout.listitem_comentarios, null);

		TextView lblNombreApe = (TextView) item
				.findViewById(R.id.textViewNombreUsuarioComentario);
		lblNombreApe.setText(listaComentarios.get(position)
				.getNombreApeUsuarioComento());

		TextView lblComentario = (TextView) item
				.findViewById(R.id.textViewComentarioIntroducido);
		lblComentario.setText(listaComentarios.get(position).getComentario());

		TextView lblFecha = (TextView) item
				.findViewById(R.id.textViewFechaComentario);
		lblFecha.setText(listaComentarios.get(position).getFecha());

		Button botonEliminar = (Button) item
				.findViewById(R.id.buttonEliminarComentario);
		botonEliminar.setOnClickListener(new OnClickListener() {
			public void onClick(View vista) {
				Integer idComentario = listaComentarios.get(position).getIdComentario();
				Integer idUsuarioLoggeado = listaComentarios.get(position).getIdUsuarioLoggeado();
				Integer idGrupo = listaComentarios.get(position).getIdGrupo();
				String nombreGrupo = listaComentarios.get(position).getNombreGrupo();
				
				datos = "?peticion=ELIMINARCOMENTARIO&idComentario="+ idComentario;

				sitio = SERVLET_URL + datos;

				Log.i("Acceder", "Debo ir a: " + sitio);

				try {
					// enviamos la informaci�n al Servlet
					URL ob = new URL(sitio);
					URLConnection conn = ob.openConnection();
					conn.setDoInput(true);
					conn.setDoOutput(true);
					InputStream in = conn.getInputStream();
					DataInputStream dos = new DataInputStream(in);
					// cerramos el flujo
					dos.close();

				} catch (IOException e) {
					Log.i("AdaptadorComentario","IOEx: "+e.getMessage());
				}

				// recargamos el tablon para visualizar que el comentario seleccionado se ha eliminado		
				context.finish();
				
				Intent irATablon = new Intent();
				irATablon.putExtra("idUsuario", idUsuarioLoggeado);
				irATablon.putExtra("idGrupo", idGrupo);
				irATablon.putExtra("nombreGrupo", nombreGrupo);
				irATablon.setClass(context, TablonPerfilGrupo.class);
				context.startActivity(irATablon);
			}
		});

		return item;
	}
}
